Systems and methods for garment size recommendation

ABSTRACT

Disclosed are methods, systems, and non-transitory computer-readable medium for generating recommendations regarding products. A method may include determining a set of content features including one or more product attributes; determining a set of latent features; receiving a query user identifier and a query product identifier; determining a feature vector associated with the query user identifier and the query product identifier based on the set of content features and the set of latent features; determining one or more model coefficients for a linear model; and utilizing the linear model to determine a fit score for the query user identifier and the query product identifier.

CROSS REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of and claims the benefit of priorityto U.S. Application No. 17/664,621, filed on May 23, 2022, which is acontinuation of and claims the benefit of priority to U.S. ApplicationNo. 17/016,456, filed on Sep. 10, 2020, now U.S. Pat. No. 11,367,122,which is a continuation of U.S. Application No. 16/862,117, filed Apr.29, 2020, now U.S. Patent No. 10,803,509, which are incorporated byreference in their entireties herein.

TECHNICAL FIELD

Various embodiments of the present disclosure generally relate togenerating recommendations regarding products, and more particularly,recommending garment size for clothing items, for example, in thecontext of an electronic clothing subscription or other e-commerceplatform.

BACKGROUND

Size recommendation has been a concern for the apparel industry sincethe beginning of online shopping. In a recent study about onlineclothing purchase, it was reported that about half of returned itemswere due to a problem with size, e.g., too large or too small.Accordingly, there is a need to improve the success rate of properfitting products that may be shipped to customers in the context of anelectronic clothing subscription or other e-commerce platform.

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Unless otherwiseindicated herein, the materials described in this section are not priorart to the claims in this application and are not admitted to be priorart, or suggestions of the prior art, by inclusion in this section.

SUMMARY OF THE DISCLOSURE

According to certain aspects of the disclosure, systems and methods aredisclosed for recommending garment size for clothing items to overcomethe problems with conventional methods noted above.

In one embodiment, a computer-implemented method may include:determining a set of content features including one or more productattributes; determining a set of latent features, wherein determiningthe set of latent features comprises: (1) determining fit ratings forone or more pairs of user identifiers and product identifiers, and (2)deriving the set of latent features based on the determined fit ratings;receiving a query user identifier and a query product identifier;determining a feature vector associated with the query user identifierand the query product identifier based on the set of content featuresand the set of latent features; determining one or more modelcoefficients for a linear model, wherein determining the one or moremodel coefficients comprises: (1) determining one or more fixed effectcoefficients, and (2) determining one or more random effectcoefficients; and utilizing the linear model to determine a fit scorefor the query user identifier and the query product identifier based onthe determined feature vector and the determined one or more modelcoefficients. In some embodiments, the linear model may be a GeneralizedLinear Mixed Model (GLMM).

In another embodiment, a computer system may include: a data storagedevice storing processor-readable instructions; and a processorconfigured to execute the instructions to perform a method. The methodmay include: determining a set of content features including one or moreproduct attributes; determining a set of latent features, whereindetermining the set of latent features comprises: (1) determining fitratings for one or more pairs of user identifiers and productidentifiers, and (2) deriving the set of latent features based on thedetermined fit ratings; receiving a query user identifier and a queryproduct identifier; determining a feature vector associated with thequery user identifier and the query product identifier based on the setof content features and the set of latent features; determining one ormore model coefficients for a linear model, wherein determining the oneor more model coefficients comprises: (1) determining one or more fixedeffect coefficients, and (2) determining one or more random effectcoefficients; and utilizing the linear model to determine a fit scorefor the query user identifier and the query product identifier based onthe determined feature vector and the determined one or more modelcoefficients. In some embodiments, the linear model may be a GeneralizedLinear Mixed Model (GLMM).

In another embodiment, there is provided a non-transitorycomputer-readable medium containing instructions that, when executed bya processor, cause the processor to perform a method. The method mayinclude: determining a set of content features including one or moreproduct attributes; determining a set of latent features, whereindetermining the set of latent features comprises: (1) determining fitratings for one or more pairs of user identifiers and productidentifiers, and (2) deriving the set of latent features based on thedetermined fit ratings; receiving a query user identifier and a queryproduct identifier; determining a feature vector associated with thequery user identifier and the query product identifier based on the setof content features and the set of latent features; determining one ormore model coefficients for a linear model, wherein determining the oneor more model coefficients comprises: (1) determining one or more fixedeffect coefficients, and (2) determining one or more random effectcoefficients; and utilizing the linear model to determine a fit scorefor the query user identifier and the query product identifier based onthe determined feature vector and the determined one or more modelcoefficients. In some embodiments, the linear model may be a GeneralizedLinear Mixed Model (GLMM).

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate various exemplary embodiments andtogether with the description, serve to explain the principles of thedisclosed embodiments.

FIG. 1 depicts an example environment in which methods, systems, andother aspects of the present disclosure may be implemented.

FIG. 2 depicts an exemplary method associated with a size recommendationmodel, according to some embodiments.

FIG. 3 depicts an exemplary method for data setup and model training,according to some embodiments.

FIG. 4A depicts a method for indexing latent vectors, according to someembodiments.

FIG. 4B depicts a method for indexing linear model coefficientsaccording to some embodiments.

FIG. 5 depicts an exemplary method of determining a fit score, accordingto some embodiments.

FIG. 6 depicts an exemplary method of a size advisor API flow forrecommending a size for a product, according to some embodiments.

FIG. 7 depicts an exemplary method according to some embodiments.

FIG. 8 depicts an exemplary computer device or system, in whichembodiments of the present disclosure, or portions thereof, may beimplemented.

DETAILED DESCRIPTION OF EMBODIMENTS

As described above, there is a need for an approach to overcome some ofthe challenges described above in the context of a wearable itemsubscription service or other e-commerce application.

While the exemplary system architecture as described in the presentdisclosure relates to an electronic transaction platform for managing,subscribing to, purchasing, or renting wearable items (e.g.,clothing-as-a-service (CaaS) or Try-Then-Buy (TTB) service),implementations disclosed herein may effectively serve various otheronline transaction platforms in the context of any other subscription,purchase, rental, or retail services without departing from the scope ofthe disclosure. In addition, while some descriptions and examplesdisclosed in the present disclosure refer to certain exemplarytransaction platforms or inventories as transactions or inventoriespertaining to “apparel,” “garments,” or “CaaS” (i.e.,clothing-as-a-service), all of those transactions and/or inventories mayeffectively serve any consumer product or wearable item (e.g., anarticle of clothing, apparel, jewelry, hat, accessories, or any otherproduct which may be worn), or even hospitality linens, consumer goods,or any other textile fabrics, without departing from the scope of thedisclosure.

As used in the present disclosure, the term “CaaS” (i.e.,clothing-as-a-service) may collectively refer to computer-implementedservices and functions associated with subscription, purchase, and/orrental services for users (e.g., periodic subscription for receivingwearable items, apparel rental or purchase order, distribution, returnprocessing, TTB services, account management, marketing, customerservice, warehouse operations, etc.). As used in the present disclosure,the term “wearable item” may refer to any article of clothing, apparel,jewelry, hat, accessories, or other product which may be worn by aperson, an animal, or a thing, or be used as an ornament for a person,an animal, or a thing.

In accordance with the present disclosure, user interfaces, periodicallyexecuted computer-implemented services, ad hoc services, and automationsbeing integrated together in a connected platform may be achieved by auniquely configured system architecture, job execution clusterconfiguring one or more processors to perform both storefront and backoffice tasks, and various user interfaces providing specialized orcustomized access to users of different roles. The ordered combinationof various ad hoc and automated tasks in the presently disclosedplatform necessarily achieve technological improvements through thespecific processes described more in detail below. In addition, theunconventional and unique aspects of these specific automation processesrepresent a sharp contrast to merely providing a well-known or routineenvironment for performing a manual or mental task.

The subject matter of the present description will now be described morefully hereinafter with reference to the accompanying drawings, whichform a part thereof, and which show, by way of illustration, specificexemplary embodiments. An embodiment or implementation described hereinas “exemplary” is not to be construed as preferred or advantageous, forexample, over other embodiments or implementations; rather, it isintended to reflect or indicate that the embodiment(s) is/are “example”embodiment(s). Subject matter can be embodied in a variety of differentforms and, therefore, covered or claimed subject matter is intended tobe construed as not being limited to any exemplary embodiments set forthherein; exemplary embodiments are provided merely to be illustrative.Likewise, a reasonably broad scope for claimed or covered subject matteris intended. Among other things, for example, subject matter may beembodied as methods, devices, components, or systems. Accordingly,embodiments may, for example, take the form of hardware, software,firmware, or any combination thereof (other than software per se). Thefollowing detailed description is, therefore, not intended to be takenin a limiting sense.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, the phrase “in one embodiment” as used herein does notnecessarily refer to the same embodiment and the phrase “in anotherembodiment” as used herein does not necessarily refer to a differentembodiment. It is intended, for example, that claimed subject matterinclude combinations of exemplary embodiments in whole or in part.

The terminology used below may be interpreted in its broadest reasonablemanner, even though it is being used in conjunction with a detaileddescription of certain specific examples of the present disclosure.Indeed, certain terms may even be emphasized below; however, anyterminology intended to be interpreted in any restricted manner will beovertly and specifically defined as such in this Detailed Descriptionsection. Both the foregoing general description and the followingdetailed description are exemplary and explanatory only and are notrestrictive of the features, as claimed.

In this disclosure, the term “based on” means “based at least in parton.” The singular forms “a,” “an,” and “the” include plural referentsunless the context dictates otherwise. The term “exemplary” is used inthe sense of “example” rather than “ideal.” The term “or” is meant to beinclusive and means either, any, several, or all of the listed items.The terms “comprises,” “comprising,” “includes,” “including,” or othervariations thereof, are intended to cover a non-exclusive inclusion suchthat a process, method, or product that comprises a list of elementsdoes not necessarily include only those elements, but may include otherelements not expressly listed or inherent to such a process, method,article, or apparatus. Relative terms, such as, “substantially” and“generally,” are used to indicate a possible variation of ±10% of astated or understood value.

Conventional garment fit modeling may be categorized under the followingtwo approaches: (1) collaborative filtering approach and (2) contentbased-approach. In some embodiments, a collaborative filtering approachmay be based on a user’s historical renting and/or sales data. Userfeedback, e.g., fit or non-fit, for such items may be used to computeuser-to-user and item-to-item similarity. Size recommendation may thenbe determined based on feedback from similar users and/or items. In someembodiments, a content based-approach may determine recommended sizesbased on a user’s profile (e.g., body measurement data) and/or garmentattributes (e.g., garment size charts).

Both collaborative filtering and content-based approaches, however, mayhave limitations. For example, collaborative filtering approaches mayrequire large datasets based on size feedback provided by active users.Clothing fashion trends may change over time and may be affected byseasonal change, which may result in shift and sparsity of data that thecollaborative filtering approach is based on. As another example,content-based approaches may have problems such as vanity sizing,variance of styles and fit characteristics of clothing, and incapablesize charts that do not reflect individual garment features.

The current disclosure describes some embodiments directed to utilizinga Generalized Linear Mixed Model (GLMM) that may take advantage of boththe collaborative filtering approach and the content-based approach. Insome embodiments, a size recommendation model, for example, based on aGLMM, may be used to predict fit probability for any user and garmentpair. In some embodiments, content features of users and/or garments andlatent features determined based on a collaborative filtering approachmay be used as predictive features, as will be described in furtherdetail below. In some embodiments, both fixed effect and random effectvariables may be used for the GLMM, as will be described in furtherdetail below.

In some embodiments, local fit patterns from users and garment items maybe modeled as a per-user model and a per-item model, respectively, and aglobal model may be trained to determine fixed effects, as will bedescribed in further detail below. Size recommendation may be performedby combining the aforementioned global model, per-user model andper-item model according to some embodiments. For example, the sizerecommendation for a garment with multiple sizes may be performed usingthe GLMM model as disclosed herein by evaluating a fit score for all ofthe sizes for a user and recommending the size with the best fit, e.g.,the highest fit score. The GLMM model as disclosed herein may provide amore robust size recommendation method compared with collaborativefiltering and content approaches. For example, the GLMM model asdisclosed herein may have unique properties such as linearity and modelinterpretability.

The embodiments disclosed herein may allow an online rental clothingsubscription service to advise appropriate garment size when a userselects clothing items. Such services provided by the online rentalclothing subscription service may enhance user experiences in a broaderreach of clothing items and allow users to try clothing they have nevertried before. The embodiments disclosed herein may ensure servicequality and user satisfaction by providing garments of the appropriatesize.

Referring now to the appended drawings, FIG. 1 shows an exampleenvironment 100, according to one or more embodiments of the presentdisclosure. As shown, the example environment 100 may include one ormore networks 101 that interconnect a server system 102, user devices112, employee devices 116, tenant devices 120, and external systems 122.The one or more networks 101 may be, for example, one or more of acellular network, a public land mobile network, a local area network, awide area network, a metropolitan area network, a telephone network, aprivate network, an ad hoc network, an intranet, the Internet, a fiberoptic based network, a cloud computing network, etc. User devices 112may be accessed by users 108, employee devices 116 may be accessed byauthorized employees 114, and tenant devices 120 may be accessed byemployees of tenant entities 118. In some implementations, employeedevices 116 may be used to perform the functions of the tenant devices120 and/or the user devices 112. Server system 102 may comprise one ormore servers 104 and one or more databases 106, which may be configuredto store and/or process a plurality of data, microservices, and servicecomponents, and/or associated functions thereof. In some embodiments,the server system 102 may comprise a machine learning module. The one ormore servers 104 may comprise the machine learning module in someembodiments. The machine learning module may comprise one or more neuralnetworks. In some embodiments, the one or more databases 112 may includeone or more machine learning libraries.

Users 108 may access the server system 102 through the one or morenetworks 101 using user devices 112. Each device among the user devices112 may be any type of computing device (e.g., personal computingdevice, mobile computing devices, etc.) which allows users 108 todisplay a web browser or a web based application for accessing theserver system 102 through the network 101. The user devices 112 may, forexample, be configured to display a web browser, a web basedapplication, or any other user interface (e.g., one or more mobileapplications) for allowing users 108 to exchange information with otherdevice(s) or system(s) in the environment 100 over the one or morenetworks 101. For example, a device among the user devices 110 may loadan application with a graphical user interface (GUI), and theapplication may display on the GUI one or more apparel recommendationsfor closeting by the user. Users 108 accessing user devices 112 may be,for example, users and/or potential users of apparel made available forsubscription based distribution via electronic transactions and physicalshipment. Additionally, or alternatively, users 108 may access userdevices 112 to, for example, manage one or more user accounts, viewcatalogs, configure one or more user profiles, engage in customerservice communications, make purchase orders, track shipments, generateshipments, monitor order fulfillment processes, initiate or processreturns, order apparel for purchase, provide feedback, refer otherusers, navigate through various features such as size advisor, performpersonalized discovery, and/or make recommendations.

Employee devices 116 may be configured to be accessed by one or moreemployees 114, including, for example, customer service employees,marketer employees, warehouse employees, analytics employees, or anyother employees who are authorized and/or authenticated to performtasks, operations, and/or transactions associated with the server system102, and/or the external systems 122. In one embodiment, employeedevices 116 are owned and operated by the same entity or at least anaffiliate of the entity operating the e-commerce (e.g., CaaS) businesshosted on server systems 102. Each device among the employee devices 116may be any type of computing device (e.g., personal computing device,mobile computing devices, etc.). The employee devices 116 may allowemployees 114 to display a web browser or an application for accessingthe server system 102 and/or the external systems 122, through the oneor more networks 101. For example, a device among the one or more of theemployee devices 116 may load an application with graphical userinterface (GUI), and the application may display on the GUI one or morewarehouse operations associated with providing CaaS to users 108. Insome implementations, the employee devices 116 may communicate directlywith the server system 102 via communications link 117 bypassing publicnetworks 101. Additionally, or alternatively, the employee devices 116may communicate with the server system 102 via network 101 (e.g., accessby web browsers or web based applications).

Tenant devices 120 may be configured to be accessed by one or moretenants 118. Each device among the tenant devices 120 may be any type ofcomputing device (e.g., personal computing device, mobile computingdevices, etc.). As used herein, each tenant, among one or more tenants118, may refer to an entity that allocates and/or supplies one or morespecific collections of apparel for the CaaS inventory. For example,each of the one or more tenants 118 may be a retailer, a designer, amanufacturer, a merchandiser, or a brand owner entity that supplies oneor more collections of wearable items to the CaaS inventory managedand/or accessed by the server system 102. Tenants 118 may use one ormore electronic tenant interfaces (e.g., a catalog content managementsystem associated with each tenant) to provide the server system 102with wearable item data that describe apparel or wearable items madeavailable for electronic transactions on server system 102. For example,one or more catalogs for each of the one or more tenants 118 may begenerated and/or updated at the server system 102 dynamically and/orperiodically. Tenant devices 120 may serve as access terminals for thetenants 118, for communicating with the electronic tenant interfacesand/or other subsystems hosted at the server system 102. The tenantdevices 120 may, for example, be configured to display a web browser, anapplication, or any other user interface for allowing tenants 118 toload the electronic tenant interfaces and/or exchange data with otherdevice(s) or system(s) in the environment 100 over the one or morenetworks 101.

External systems 122 may be, for example, one or more third party and/orauxiliary systems that integrate and/or communicate with the serversystem 102 in performing various CaaS tasks. External systems 122 may bein communication with other device(s) or system(s) in the environment100 over the one or more networks 101. For example, external systems 122may communicate with the server system 102 via API (applicationprogramming interface) access over the one or more networks 101, andalso communicate with the employee devices 116 via web browser accessover the one or more networks 101. In some embodiments, the externalsystems 122 may comprise one or more servers and one or more databases,which may be configured to store and/or process a plurality of data,microservices, and service components, and/or associated functionsthereof. In some embodiments, the external system may comprise a machinelearning module. The one or more servers may comprise the machinelearning module in some embodiments. The machine learning module maycomprise one or more neural networks. In some embodiments, the one ormore databases may include one or more machine learning libraries.

As indicated above, FIG. 1 is provided merely as an example. Otherexamples that differ from the example environment 100 of FIG. 1 arecontemplated within the scope of the present embodiments. In addition,the number and arrangement of devices and networks shown in environment100 are provided as an example. In practice, there may be additionaldevices, fewer devices and/or networks, different devices and/ornetworks, or differently arranged devices and/or networks than thoseshown in environment 100. Furthermore, two or more devices shown in FIG.1 may be implemented within a single device, or a single device shown inFIG. 1 may be implemented as multiple, distributed devices.Additionally, or alternatively, one or more devices may perform one ormore functions of other devices in the example environment 100. Forexample, employee devices 116 may be configured to perform one or morefunctions of tenant devices 120, in addition to their own functions.

FIG. 2 depicts an exemplary method 200 associated with a sizerecommendation model, according to some embodiments. As shown in FIG. 2, the method 200 may begin with step 202 in which training data may bedetermined. In some embodiments, the training data may be determinedbased on user fit feedback, as will be described in further detail belowwith reference to FIG. 3 . In some embodiments, the training data may becompiled as a training file 204. In step 206, a linear model may betrained based on the training file 204. In some embodiments, the linearmodel may be a Generalized Linear Mixed Model (GLMM) configured to scorethe fitting probability of all candidate sizes for any product in whicha user is interested, as will be described in further detail below. Instep 220, data may be loaded for the linear model. In some embodiments,loading data for the linear model may include obtaining one or morelatent vectors based on the determined training data in step 202. Insome embodiments, loading data for the linear model may includeobtaining model coefficients 209 based on the trained linear model fromstep 206. In step 230, the one or more latent vectors and modelcoefficients may be indexed and mapped, as will be described in furtherdetail below with reference to FIGS. 4A and 4B. In step 240, a sizeadvisory API may be utilized to determine a fit score regarding a userand garment pair in response to a user request sent by a user 108 via auser device 112. For example, the user may access content includinginformation regarding a product. In such instances, a request includingidentifiers for the user and the product, e.g., unique user identifier(UUID) and stock keeping unit (SKU), may be transmitted via the sizeadvisory API. In the context of the current disclosure, the SKU mayinclude attributes associated with the product that may distinguish itfrom other products. For example, such attributes may includemanufacturer, description, material, size, color, packaging, etc. Fitscores may be determined for the available sizes for the product of theuser and product pair and a recommended size for the product may bedetermined for the user, as will be described in further detail belowwith reference to FIGS. 5 and 6 .

FIG. 3 depicts an exemplary method 300 for data setup and model trainingaccording to some embodiments.

As shown in FIG. 3 , method 300 may begin with step 304 in whichinformation regarding one or more users and one or more products, e.g.,returned products, may be obtained. In some embodiments, an index may bedetermined based on the obtained information for the one or more usersand products. In some embodiments, the information may include garmentinformation 302A, user return feedback 302B, and/or style attributes302C. For example, historically collected garment attributes/properties,user profile, and/or fit feedback may be obtained. In some embodiments,content features may be extracted from the obtained information. Forexample, content features may include product brand, product type,product material(s) (e.g., main material used for product), producthemline length, product sleeve length, product silhouette (e.g., a dresssilhouette or skirt silhouette), product vendor size, etc.

In step 306, a training data set including the content features may begenerated. In step 308, a latent factor model, e.g., an SVD++ model, maybe trained based on the training data set. In step 310, one or morelatent vectors may be generated based on the trained latent factormodel. In the context of the current disclosure, a latent vector may bereferred to as a set of one more latent features. In some embodiments, alatent feature may be derived from a fit value, for example, obtained instep 304. For example, the following Table 1 depicts fit ratings mappedto associated fit values. For example, a “great fit” and an “okay fit”may be assigned a fit value of 1 and a “did not fit” may be assigned afit value of 0.

TABLE 1 Fit Rating Fit Value Great Fit 1 Okay Fit 1 Did Not Fit 0

The fit values may be used as an input to derive a latent feature. Forexample, using unique user identifiers as rows and product identifiers(SKUs) as columns (n rows and m columns are depicted in Table 2 below,where n and m may be any number corresponding to the number of users andproducts, respectively), each cell associated with a user identifier anda product identifier may be filled with a corresponding fit values basedon the user and product information obtained in step 304. In Table 2below, 1 may indicate a fit (e.g., a great fit or an okay fit) and 0 mayindicate a non-fit (e.g., did not fit).

TABLE 2 SKU-1 SKU-2 SKU-3 SKU-4 SKU-5 SKU-6 ... SKU-m UUID-1 1 0 1UUID-2 1 1 0 UUID-3 0 1 1 UUID-4 1 1 ... UUID-n 1 1 0 1

In some embodiments, a latent feature may be generated based on a matrixsuch as the one depicted above in Table 2. Based on the provided inputsbased on the obtained user and product information, a matrixfactorization algorithm, such as SVD++, may be utilized to predict eachentry. In the context of the current disclosure, the latent factor modelmay utilize such matrix factorization algorithms. The predicted outputfor each entry of the matrix, e.g., values for Table 2, may be used aslatent features. Accordingly, a value of the latent feature may bedetermined for each user and product pair, e.g., UUID and SKU pair.

In step 312, the generated latent features may be uploaded, e.g., toserver system 102 and/or a cloud storage service, with a timestamp t1.In the context of the current disclosure, the timestamp t1 may indicatea point in time. In some embodiments, timestamp t1 may indicate the mostrecent time, for example, that the latent features had been generated.

In step 314, the latent factor model may be applied to the trainingdataset. In some embodiments, a training data file, e.g., a CSV file,may be obtained based on the latent factor model. For example, thelatent factor model may be applied to the training dataset to generateone or more latent vectors. In such instances, the generated one or morelatent vectors may be combined with content features from the trainingdata set to determine the training data file. Accordingly, the trainingdata file may include content features and latent vectors. The trainingdata file may be assigned a time stamp t1 that indicates the point intime in which the training data file has been determined.

In step 316, values for the training data file may be dummified. In thecontext of the current disclosure, the term “dummified” may refer to oneor more methods of expanding a categorical feature to multiple binaryfeatures. For example, a categorical feature named “fit” may have twopossible values: fit and non-fit. When the categorical feature “fit” isdummified, two columns may be generated: “fit” and “non-fit.” When aparticular size of a product fits a user, the “fit” may be set as TRUEwhile “non-fit” may be set as FALSE, and vice versa. In someembodiments, the “fit” may be set of FALSE while the “non-fit” may beset as TRUE for the remaining sizes associated with the product and theuser.

In step 318, the linear model may be trained based on the training datafile. In some embodiments, the linear model may be trained on a machinelearning platform. The training data file may be transformed into aformat that may be required by the machine learning platform. Forexample, the training data file may initially be in a CSV format whichmay be transformed to a libsvm format. In such instances, fixed andrandom effects may be included in the transformed data file and labeled.The libsvm format may then be transformed to an Apache Avro format. Insome embodiments, the formatting above may be implemented via pythonand/or any appropriate coding language.

In some embodiments, the linear model may be a GLMM model configured tocapture a user’s personal fit on items, the item’s specific fittingproperty, as well as the global fit pattern across users and garmentitems. In some embodiments, GLMM may belong to a parametric model. Thatis, the GLMM may not only generate predictive output, but also inferinsights from the data. GLMM may be an extension of a linear mixed model(LMM). For example, the distribution of the response variable in theGLMM may belong to an exponential family which may include normaldistribution, binomial distribution, etc. In the embodiments disclosedherein, the response may be modeled as binary, e.g., fit or non-fit. Itis understood, however, that the modeled response may vary inalternative embodiments. In some embodiments, GLMM may be implementedusing SAS and/or R data analysis software. Other models, e.g., includingother parametric models and/or non-parametric models including deeplearning, may be utilized in some embodiments.

In some embodiments, GLMM may include crossed random effects, e.g.,users and items. An exemplary GLMM model may be provided as follows:

Y_(ij) = x_(ij)^(T)β + a_(i) + b_(j) + e_(ij), wherex_(ij) ∈ R^(p), a_(i∼)^(iid)(0, σ_(A)²), b_(j)^(iid)(0, σ_(B)²), e_(ij∼)^(iid)(0, σ_(E)²),

where Y_(ij) may indicate whether a garment item j may be a fit for auser i; x_(ij) (also referred to as fixed effects) may be a vector offeatures; β may be a coefficient vector; a_(i) may capture variationsfrom the user i while b_(j) may capture variations from the garment itemj. In some embodiments, fixed effect x_(ij) may include both content andlatent features. In some embodiments, both a_(i) and b_(j) may be randomeffect. In some embodiments, variations from the user may includevarious body measurements and/or sex of each different user.

In step 320, model coefficients may be determined based on the trainedlinear model. For example, model coefficients may include the fixed andrandom coefficients of the trained linear model. In step 322, the modelcoefficients may be uploaded to server system 102 and/or a cloud storageservice with timestamp t1. In step 324, data load for the linear modelmay be triggered based on the timestamp t1. That is, the data withtimestamp t1, e.g., model coefficients with timestamp t1 uploaded instep 322 and/or latent vectors with timestamp t1 uploaded in step 312,may be loaded for the linear model.

FIG. 4A depicts a method 400A for indexing latent vectors according tosome embodiments. As shown in FIG. 4A, latent vectors, described abovewith reference to FIGS. 2 and 3 , may be obtained in step 402. In someembodiments, the latent vectors may be assigned the timestamp t1 thatmay indicate that the latent vectors are the most recently generated. Instep 404, an index may be determined for the obtained latent vectors. Insome embodiments, each document included in the index may be based on auser and/or product, e.g., UUID and/or SKU. In some embodiments, thelatent vectors may be indexed to an elastic search. In step 406, theobtained latent vectors may be aliased and existing indices (e.g.,existing latent vectors) may be deleted. In the context of the currentdisclosure, aliasing may refer to an exemplary implementation method ofreplacing an existing data set with a new data set using a same pointer.For example, in step 406, when the new latent vector is obtained (e.g.,in step 402) a pointer that pointed to an existing latent vector may bealiased to point to the new (obtained) latent vector so that the pointeris pointing to the most recect latent vector at any given point in time.After the pointer has been aliased, i.e., points to the obtained latentvector, the existing latent vector may be removed. In some embodiments,the pointer may be utilized on the electronic transaction platform. Insuch embodiments, the step of aliasing (step 406) may allow the platformto utilize an existing pointer to point to a new latent vector whilekeeping the rest of the platform intact.

FIG. 4B depicts a method 400B for indexing linear model coefficientsaccording to some embodiments. As shown in FIG. 4B, model coefficients,described above with reference to FIGS. 2 and 3 , may be obtained instep 412. In some embodiments, the latent vectors may be assigned thetimestamp that may indicate that the model coefficients are the mostrecently generated. In step 414, an index may be determined for theobtained model coefficients. In some embodiments, the index may includethe fixed and random coefficients of the trained linear model. Forexample, the index may include a document for fixed effect coefficientsat a global level and a document per user for random effectcoefficients. In some embodiments, the model coefficients may be indexedto an elastic search. In step 416, the obtained model coefficients maybe aliased and existing indices (e.g., existing model coefficients) maybe deleted. As explained above, aliasing may refer to an exemplaryimplementation method of replacing an existing data set with a new dataset using a same pointer. For example, in step 416, when the new modelcoefficient is obtained (e.g., in step 412) a pointer that pointed to anexisting model cofficient may be aliased to point to the new (obtained)model cofficient so that the pointer is pointing to the most recectmodel cofficient at any given point in time. After the pointer has beenaliased, i.e., points to the obtained model cofficient, the existingmodel cofficient may be removed. In some embodiments, the pointer may beutilized on the electronic transaction platform. In such embodiments,the step of aliasing (step 416) may allow the platform to utilize anexisting pointer to point to a new model cofficient while keeping therest of the platform intact.

The generated indices, e.g., the indices for the latent vectors and/orthe model coefficients, may be used to predict a fit score for a userand garment pair, as will be described in further detail below. In someembodiments, the aliasing of model coefficients index and latent vectorsindex may be an atomic operation. That is, the timestamp of the aliasedmodel coefficient and latent feature indices should be the same.

FIG. 5 depicts an exemplary method 500 of determining a fit scoreaccording to some embodiments. For example, a fit score for a user andgarment pair, e.g., UUID and SKU, may be determined as follows. As shownin FIG. 5 , latent vectors associated with the UUID and SKU may beobtained from the latent vectors index 502C. In step 504, latentfeatures associated with the UUID and SKU may be determined based on theobtained latent vectors. In some embodiments, the latent features forthe UUID and SKU pair may be determined by computing a dot product ofthe UUID latent vector and the SKU latent vector. Content featuresassociated with the SKU may also be obtained from the products index502B. For example, content features may include brand, product type,main material, hemline length, sleeve length, dress silhouette, skirtsilhouette, pant silhouette, vendor size, etc.

In step 506, a feature vector for the UUID and SKU pair may bedetermined based on the obtained content features and the determinedlatent features. In some embodiments, a feature vector may be determinedby concatenating and sorting the latent features determined in step 504and the content features from the products index 502. An exemplaryfeature vector for the UUID and SKU pair may include: (“London Times”,“Dress”, “Polyester”, “Knee”, “Cap”, “Fit and Flare”, “Not Applicable”,“1X”, “0.678543”). It is understood that the feature vector may be invarying formats and determined based on any combination of the obtainedcontent features and the determined latent features in otherembodiments.

In step 508, a fit score may be determined for the UUID and SKU pair. Asshown in FIG. 5 , model coefficients associated with the UUID and SKUpair may be obtained from the model coefficients index 502A. Forexample, the obtained model coefficients may include the fixed effectcoefficients and user specific random effect coefficients. Accordingly,the fit score may be determined based on the model coefficients and thedetermined feature vector. In some embodiments, the fit score may becalculated as follows: Fit score = (feature vector * fixed effectscoefficients) + (feature vector * random effects coefficients) +intercepts. In such embodiments, the intercepts may refer to valueswhere a line crosses the axes with reference to the linear model asdisclosed herein. In other embodiments, the fit score may be calculatedas follows: Fit score = Σ (feature vector * fixed effectscoefficients) + Σ (feature vector * per-user coefficients) + Σ (featurevector * per-item coefficients). In some embodiments, the determined fitscore may be output to a user or utilized otherwise as will described infurther detail below with reference to FIG. 6 .

FIG. 6 depicts an exemplary method 600 of a size advisor API flow forrecommending a size for a product according to some embodiments. Asshown in FIG. 6 , a user may access a product page 602, e.g., of theelectronics transactions page. In such instances, a size advisor requestmay trigger a size adviser API call 604. In some embodiments, the sizeadvisor request may include a UUID associated with the user and SKUsincluded, e.g., depicted, in the product page (hereinafter referred toas target SKUs). Subsequently, feedback and purchase informationassociated with the user may be obtained to determine training data, asdescribed above with reference to FIGS. 2 and 3 . In some embodiments,the obtained feedback and purchase information may include a certainnumber of data points. For example, there may be a certain number ofinstances in which the user had previously provided feedback and/orpurchased (or rented) a product, such as a previously shipped product.In step 608, the number of data points may be aggregated and comparedwith a predetermined threshold. For example, the predetermined thresholdmay be five. If the number of data points do not exceed thepredetermined threshold, then the size recommendation may be determinedbased on the content based approach 610. For example, the recommendedSKU may be determined based on the user’s profile (e.g., bodymeasurement data) and/or garment attributes (e.g., garment size charts).In some embodiments, such predetermined thresholds may be utilized tocontrol the products and users used in the modeling and predictionprocesses, e.g., associated with determining the fit score in step 612.The use of such predetermined thresholds may eliminate noise from thedata and helps to more precisely target the user and product population.

If the number of data points do exceed the predetermined threshold, thefit score for each of the target SKUs may be determined in step 612, asdescribed above with reference to FIG. 5 . In step 614, the measurementof the target SKU with the highest fit score may be compared with arange of acceptable measurements for the user based on his or her userprofile. For example, the target SKU with the highest fit score may be alarge, and the user profile may accept measurements between a large andan extra-large. In this example, the target SKU may be deemed acceptableto recommend to the user. Accordingly, the target SKU with the highestfit score may be recommended to the user in step 616. If the measurementof the target SKU with the highest fit score does not fall in the rangeof acceptable measurements for the user, the recommended SKU may bedetermined based on the content based approach 610.

FIG. 7 depicts an exemplary method 700, according to some embodiments.The method 700 may being with step 702, in which a set of contentfeatures including one or more product attributes may be determined. Insome embodiments, determining the set of content features may includedetermining the set of content features based on the determined trainingdata set. In step 704, a set of latent features may be determined. Insome embodiments, determining the set of latent features may include:(1) determining fit ratings for one or more pairs of user identifiersand product identifiers, and (2) deriving the set of latent featuresbased on the determined fit ratings. In some embodiments, determiningthe set of latent features may include determining the set of latentfeatures based on the determined training data set. In some embodiments,determining the set of latent features may include obtaining one or morefit ratings associated with the one or more pairs of user identifiersand product identifiers from the determined training data set;determining an absence of a fit rating for a particular user identifierand a particular product identifier; and determining the fit rating forthe particular user identifier and product identifier as negative as aresult of determining the absence of the fit rating for the particularpair user identifier and product identifier.

In step 706, a query user identifier and a query product identifier maybe received. In step 708, a feature vector associated with the queryuser identifier and the query product identifier may be determined basedon the set of content features and the set of latent features. In step710, one or more model coefficients may be determined for a linearmodel. In some embodiments, determining the one or more modelcoefficients for the linear model may include: (1) determining one ormore fixed effect coefficients, and (2) determining one or more randomeffect coefficients. In some embodiments, the one or more random effectcoefficients may be based on variations of a user associated with thequery user identifier and a product associated with the query productidentifier. In step 712, the linear model may be utilized to determine afit score for the query user identifier and the query product identifierbased on the determined feature vector and the determined one or moremodel coefficients.

In some embodiments, method 700 may include a further step in which atraining data set comprising one or more historical data attributes ofpreviously shipped products may be determined. In some embodiments, eachof the historical data attributes is associated with a user identifierand a product identifier used in an electronic transactions platform. Insome embodiments, the linear model may be trained based on thedetermined training data set. In some embodiments, the linear model maybe a generalized linear mixed model (GLMM).

In some embodiments, method 700 may include a further step in which thedetermined fit score for the query user identifier and the query productidentifier may be compared with another fit score associated with adifferent user identifier and a different product identifier. In someembodiments, the query user identifier and product identifier or thedifferent user identifier and product identifier may be transmittedbased on the comparison.

As shown in FIG. 8 , a device 800 used for performing the variousembodiments of the present disclosure (e.g., the server system 102, theuser devices 112, the employee devices 116, the tenant devices 120,and/or any other computer system or user terminal for performing thevarious embodiments of the present disclosure) may include a centralprocessing unit (CPU) 820. In some embodiments, the CPU 820 may be agraphics processing unit (GPU), a tensor processing unit (TPU), etc. CPU820 may be any type of processor device including, for example, any typeof special purpose or a general-purpose microprocessor device. As willbe appreciated by persons skilled in the relevant art, CPU 820 also maybe a single processor in a multi-core/multiprocessor system, such systemoperating alone, or in a cluster of computing devices operating in acluster or server farm. CPU 820 may be connected to a data communicationinfrastructure 810, for example, a bus, message queue, network, ormulti-core message-passing scheme.

A device 800 (e.g., the server system 102, the user devices 112, theemployee devices 116, the tenant devices 120, and/or any other computersystem or user terminal for performing the various embodiments of thepresent disclosure) may also include a main memory 840, for example,random access memory (RAM), and may also include a secondary memory 830.Secondary memory, e.g., a read-only memory (ROM), may be, for example, ahard disk drive or a removable storage drive. Such a removable storagedrive may comprise, for example, a floppy disk drive, a magnetic tapedrive, an optical disk drive, a flash memory, or the like. The removablestorage drive in this example reads from and/or writes to a removablestorage unit in a well-known manner. The removable storage unit maycomprise a floppy disk, magnetic tape, optical disk, etc., which is readby and written to by the removable storage drive. As will be appreciatedby persons skilled in the relevant art, such a removable storage unitgenerally includes a computer usable storage medium having storedtherein computer software and/or data.

In alternative implementations, secondary memory 830 may include othersimilar means for allowing computer programs or other instructions to beloaded into device 800. Examples of such means may include a programcartridge and cartridge interface (such as that found in video gamedevices), a removable memory chip (such as an EPROM, or PROM) andassociated socket, and other removable storage units and interfaces,which allow software and data to be transferred from a removable storageunit to device 800.

A device 800 may also include a communications interface (“COM”) 860.Communications interface 860 allows software and data to be transferredbetween device 800 and external devices. Communications interface 860may include a modem, a network interface (such as an Ethernet card), acommunications port, a PCMCIA slot and card, or the like. Software anddata transferred via communications interface may be in the form ofsignals, which may be electronic, electromagnetic, optical, or othersignals capable of being received by communications interface 860. Thesesignals may be provided to communications interface 860 via acommunications path of device 800, which may be implemented using, forexample, wire or cable, fiber optics, a phone line, a cellular phonelink, an RF link or other communications channels.

The hardware elements, operating systems, and programming languages ofsuch equipment are conventional in nature, and it is presumed that thoseskilled in the art are adequately familiar therewith. A device 800 alsomay include input and output ports 850 to connect with input and outputdevices such as keyboards, mice, touchscreens, monitors, displays, etc.Of course, the various server functions may be implemented in adistributed fashion on a number of similar platforms, to distribute theprocessing load. Alternatively, the servers may be implemented byappropriate programming of one computer hardware platform.

The systems, apparatuses, devices, and methods disclosed herein aredescribed in detail by way of examples and with reference to thefigures. The examples discussed herein are examples only and areprovided to assist in the explanation of the apparatuses, devices,systems, and methods described herein. None of the features orcomponents shown in the drawings or discussed below should be taken asmandatory for any specific implementation of any of these theapparatuses, devices, systems, or methods unless specifically designatedas mandatory. For ease of reading and clarity, certain components,modules, or methods may be described solely in connection with aspecific figure. In this disclosure, any identification of specifictechniques, arrangements, etc. are either related to a specific examplepresented or are merely a general description of such a technique,arrangement, etc. Identifications of specific details or examples arenot intended to be, and should not be, construed as mandatory orlimiting unless specifically designated as such. Any failure tospecifically describe a combination or sub-combination of componentsshould not be understood as an indication that any combination orsub-combination is not possible. It will be appreciated thatmodifications to disclosed and described examples, arrangements,configurations, components, elements, apparatuses, devices, systems,methods, etc. can be made and may be desired for a specific application.Also, for any methods described, regardless of whether the method isdescribed in conjunction with a flow diagram, it should be understoodthat unless otherwise specified or required by context, any explicit orimplicit ordering of steps performed in the execution of a method doesnot imply that those steps must be performed in the order presented butinstead may be performed in a different order or in parallel.

Throughout this disclosure, references to components or modulesgenerally refer to items that logically can be grouped together toperform a function or group of related functions. Like referencenumerals are generally intended to refer to the same or similarcomponents. Components and modules can be implemented in software,hardware, or a combination of software and hardware. The term “software”is used expansively to include not only executable code, for examplemachine-executable or machine-interpretable instructions, but also datastructures, data stores and computing instructions stored in anysuitable electronic format, including firmware, and embedded software.The terms “information” and “data” are used expansively and include awide variety of electronic information, including executable code;content such as text, video data, and audio data, among others; andvarious codes or flags. The terms “information,” “data,” and “content”are sometimes used interchangeably when permitted by context.

It is intended that the specification and examples be considered asexemplary only, with a true scope and spirit of the disclosure beingindicated by the following claims.

What is claimed is: 1-20. (canceled)
 21. A computer-implemented methodcomprising: obtaining, by one or more processors, feedback ortransaction data associated with a user, the feedback or transactiondata including a plurality of data points; determining, by the one ormore processors, that the plurality of data points exceed apredetermined threshold by comparing the plurality of data points withthe predetermined threshold; determining, by a size recommendationmodel, one or more fit scores for an article, wherein the article isassociated with a unique article identifier; determining, by the sizerecommendation model, a highest fit score of the one or more fit scoresby comparing measurements for the article to a range of usermeasurements to determine that the measurements for the article fallwithin the range of user measurements, the range of user measurementsbased on a profile of the user; and generating, by the sizerecommendation model, a fit recommendation for the article based on thehighest fit score.
 22. The computer-implemented method of claim 21,further comprising: inputting, into the size recommendation model, thefeedback or transaction data as training data.
 23. Thecomputer-implemented method of claim 22, wherein the size recommendationmodel is a parameterized model that was trained based on the trainingdata.
 24. The computer-implemented method of claim 23, furthercomprising: determining, by the parameterized model, the one or more fitscores for the article.
 25. The computer-implemented method of claim 21,wherein the unique article identifier corresponds to the articledepicted in a product page.
 26. The computer-implemented method of claim21, the plurality of data points corresponding to at least one instanceof feedback data or transaction data associated with the article beingprovided by the user.
 27. The computer-implemented method of claim 21,further comprising: determining, by the one or more processors, that theplurality of data points do not exceed the predetermined threshold bycomparing the plurality of data points with the predetermined threshold;and generating, by a content-based approach, the fit recommendation forthe article.
 28. The computer-implemented method of claim 27, whereinthe content-based approach includes determining a recommended uniquearticle identifier based on the profile of the user or at least onegarment attribute.
 29. The computer-implemented method of claim 21,further comprising: determining, by the size recommendation model, thatthe measurements for the article do not fall within the range of usermeasurements by comparing the measurements for the article to the rangeof user measurements, the range of user measurements based on theprofile of the user; and determining, by a content-based approach, arecommended unique article identifier.
 30. A system comprising: amemory, storing instructions; and a processor operatively connected tothe memory and configured to execute the instructions to performoperations including: obtaining, by one or more processors, feedback ortransaction data associated with a user, the feedback or transactiondata including a plurality of data points; determining, by the one ormore processors, that the plurality of data points exceed apredetermined threshold by comparing the plurality of data points withthe predetermined threshold; determining, by a size recommendationmodel, one or more fit scores for an article, wherein the article isassociated with a unique article identifier; determining, by the sizerecommendation model, a highest fit score of the one or more fit scoresby comparing measurements for the article to a range of usermeasurements to determine that the measurements for the article fallwithin the range of user measurements, the range of user measurementsbased on a profile of the user; and generating, by the sizerecommendation model, a fit recommendation for the article based on thehighest fit score.
 31. The system of claim 30, further comprising:inputting, into the size recommendation model, the feedback ortransaction data as training data.
 32. The system of claim 31, whereinthe size recommendation model is a parameterized model that is trainedbased on the training data.
 33. The system of claim 32, furthercomprising: determining, by the parameterized model, the one or more fitscores for the article.
 34. The system of claim 30, wherein the uniquearticle identifier corresponds to the article depicted in a productpage.
 35. The system of claim 30, the plurality of data pointscorresponding to at least one instance of feedback data or transactiondata associated with the article being provided by the user.
 36. Thesystem of claim 30, further comprising: determining, by the one or moreprocessors, that the plurality of data points do not exceed thepredetermined threshold by comparing the plurality of data points withthe predetermined threshold; and generating, by a content-basedapproach, the fit recommendation for the article.
 37. The system ofclaim 36, wherein the content-based approach includes determining arecommended unique article identifier based on the profile of the useror at least one garment attribute.
 38. A computer-implemented methodcomprising: determining, by a size recommendation model, one or more fitscores for an article, wherein the article is associated with a uniquearticle identifier; determining, by the size recommendation model, ahighest fit score of the one or more fit scores by comparingmeasurements for the article to a range of user measurements todetermine that the measurements for the article fall within the range ofuser measurements, the range of user measurements based on a profile ofa user; generating, by the size recommendation model, a fitrecommendation for the article based on the highest fit score; andstoring, by a data storage device, the fit recommendation for thearticle to the profile of the user.
 39. The computer-implemented methodof claim 38, further comprising: determining, by the size recommendationmodel, that the measurements for the article do not fall within therange of user measurements by comparing measurements for the article tothe range of user measurements, the range of user measurements based onthe profile of the user; and determining, by a content-based approach, arecommended unique article identifier.
 40. The computer-implementedmethod of claim 38, wherein the unique article identifier corresponds tothe article depicted in a product page.